package cn.tedu;

import cn.tedu.beans.DemoBean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class SpringDemo {
    public static void main(String[] args) {
        /*
         * 如果不是Spring boot项目,是不是需要自己写@import导入啊
         *  有两种方式：
         *  - @Import 导入配置文件
            - 创建 new AnnotationConfigApplicationContext(Config.class, Cfg.class ...);
              添加多个配置文件，作为参数
         */


        //启动Spring
        //创建 AnnotationConfigApplicationContext 就是创建Spring容器，务必提供配置文件
        ApplicationContext context =
                new AnnotationConfigApplicationContext(Config.class);
        //从Spring容器中获取DemoBean对象，如果能够获取到对象就说明，Spring 正常工作了
        DemoBean bean = context.getBean(DemoBean.class);
        System.out.println(bean);
        //繁琐！！！

        // 应用程序上下文 == Spring == Spring 容器

        // ApplicationContext 是Spring 最核心的接口，代表着Spring容器类型
        // ApplicationContext 有实现类型：
        // AnnotationConfigApplicationContext ： 注解配置的应用程序上下文
        // ClassPathXmlConfigApplicationContext ...

        //Annotation 注解
        //Config 配置
        // Application 应用程序
        // Context 上下文
    }
}
